package com.cmf.myproject.service.system.sysrole.dto;

import org.apache.commons.lang3.StringUtils;

import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;

import com.system.core.view.layui.table.TableViewReqDto;

@Data
@EqualsAndHashCode(callSuper = true)
public class SysRoleQueryFilter extends TableViewReqDto{

	//
	private Long id;
	//角色名称
	private String roleName;
	//角色编码
	private String roleCode;
	//
	private Date createTime;
	//
	private Date updateTime;
	/**
	 * 
	 * jdbctype:timestamp
	 */
	private String createTimeStrStart;
	private String createTimeStrEnd;
	
	/**
	 * 
	 * jdbctype:timestamp
	 */
	private String updateTimeStrStart;
	private String updateTimeStrEnd;
	

	public String toQueryString() {
		StringBuilder param = new StringBuilder();
		/**
		 * jdbcType:bigint(20)
		 */
		if(getId() != null) {
			param.append("&id=");
			param.append(getId());
		}
		/**
		 * 角色名称
		 * jdbcType:varchar(20)
		 */
		if(StringUtils.isNotBlank(getRoleName())) {
			param.append("&roleName=");
			param.append(getRoleName());
		}
		/**
		 * 角色编码
		 * jdbcType:varchar(20)
		 */
		if(StringUtils.isNotBlank(getRoleCode())) {
			param.append("&roleCode=");
			param.append(getRoleCode());
		}
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getCreateTimeStrStart())) {
			param.append("&createTimeStrStart=");
			param.append(getCreateTimeStrStart());
		}
		if(StringUtils.isNotBlank(getCreateTimeStrEnd())) {
			param.append("&createTimeStrEnd=");
			param.append(getCreateTimeStrEnd());
		}
		/**
		 * jdbcType:timestamp
		 */
		if(StringUtils.isNotBlank(getUpdateTimeStrStart())) {
			param.append("&updateTimeStrStart=");
			param.append(getUpdateTimeStrStart());
		}
		if(StringUtils.isNotBlank(getUpdateTimeStrEnd())) {
			param.append("&updateTimeStrEnd=");
			param.append(getUpdateTimeStrEnd());
		}
//		if(param.length() > 0)
//			return "?"+param.toString().substring(1, param.length());
//		else
		return param.toString();
	}
	
	@Override
	public String toString() {
		return toQueryString();
	}
}
